package cn.zyjblogs.server.user.mapper;

import cn.zyjblogs.server.user.dto.UserDto;
import cn.zyjblogs.server.user.dto.UserPageDto;
import cn.zyjblogs.server.user.po.UserPo;
import cn.zyjblogs.server.user.vo.UserVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * @author zhuyijun
 */
@Mapper
public interface UserMapper extends BaseMapper<UserPo> {
    /**
     * 通过用户名称查询用户
     *
     * @param username
     * @return
     */
    UserPo findUserByname(@Param("username") String username);

    /**
     * 用户分页查询
     *
     * @param page
     * @param userPageDto
     * @return com.baomidou.mybatisplus.core.metadata.IPage<cn.zyjblogs.rbac.server.user.vo.UserVo>
     * @author zhuyijun
     * @date 2022/9/19 上午12:47
     */
    IPage<UserVo> findPage(IPage<UserPageDto> page, @Param("userPageDto") UserPageDto userPageDto, @Param("tenantId") String tenantId);

    /**
     * @param userDto
     * @return java.lang.Integer
     * @author zhuyijun
     * @date 2022/9/22 下午6:11
     */
    Integer checkUserCount(@Param("userDto") UserDto userDto);
}
